package com.panasonic.cn.cmsc;

import java.io.*;
import java.lang.*;
import java.util.*;
import java.math.*;
import java.sql.SQLException;
import com.fujitsu.fks.jaaf.core.*;

public class SQLMM1205{
	private Hashtable paramsString     = new Hashtable();
	private Hashtable paramsBigDecimal = new Hashtable();
	private Hashtable paramsFree       = new Hashtable();
	private String lastSql_ = null;

	private String getString(String name){
		if(name==null) return "";
		String returnStr = (String)paramsString.get(name);
		if(returnStr==null) return "";
		return "'"+FrameworkCommon.stringReplaceSQuote(returnStr)+"'";
	}

	private String getBigDecimal(String name){
		if(name==null) return "";
		BigDecimal returnStr = (BigDecimal)paramsBigDecimal.get(name);
		if(returnStr==null) return "";
		return returnStr.toString();
	}

	private String getFree(String name){
		if(name==null) return "";
		String returnStr = (String)paramsFree.get(name);
		if(returnStr==null) return "";
		return returnStr;
	}

	public String getLastSql(){
		return lastSql_;
	}

	public SelectResultRset SELECT_M1201(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("NVL(CRCY_CD	    ,'') AS CRCY_CD,");
		sql.append("NVL(EXCG_RT	    ,'') AS EXCG_RT,");
		sql.append("NVL(APL_BDT	    ,'') AS APL_BDT,");
		sql.append("NVL(APL_EDT	    ,'') AS APL_EDT,");
		sql.append("NVL(GNR_ADM_NO	,'') AS GNR_ADM_NO,");
		sql.append("NVL(CTRL_DVSN_CD,'') AS CTRL_DVSN_CD,");
		sql.append("NVL(BASE_EXCG_RT,'') AS BASE_EXCG_RT,");
		sql.append("TO_CHAR( RGS_DTTM,'YYYYMMDD HH24:MI:SS') AS RGS_DTTM,");
		sql.append("NVL(RGS_CHRG_CD	,'') AS RGS_CHRG_CD,");
		sql.append("NVL(RGS_PGID	,'') AS RGS_PGID,");
		sql.append("TO_CHAR( UPD_DTTM,'YYYYMMDD HH24:MI:SS') AS UPD_DTTM,");
		sql.append("NVL(UPD_CHRG_CD	,'') AS UPD_CHRG_CD,");
		sql.append("NVL(UPD_PGID	,'') AS UPD_PGID,");
		sql.append("NVL(FM_TYP      ,'') AS FM_TYP ");
		sql.append("FROM M12 ");
		sql.append("WHERE ");
		sql.append("CRCY_CD "+((getString("CRCY_CD").equals(""))?" is null ":"=")+getString("CRCY_CD")+" ");
		sql.append("AND ");
		sql.append("EXCG_RT "+((getString("EXCG_RT").equals(""))?" is null ":"=")+getString("EXCG_RT")+" ");
		sql.append("AND ");
		sql.append("APL_BDT "+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+" ");
		sql.append("ORDER BY ");
		sql.append("CRCY_CD,EXCG_RT,APL_BDT");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}


	public void setCRCY_CD(String value){
		if(value==null) {
			paramsString.remove("CRCY_CD");
			return;
		}
		paramsString.put("CRCY_CD",value);
	}


	public void setEXCG_RT(String value){
		if(value==null) {
			paramsString.remove("EXCG_RT");
			return;
		}
		paramsString.put("EXCG_RT",value);
	}


	public void setAPL_BDT(String value){
		if(value==null) {
			paramsString.remove("APL_BDT");
			return;
		}
		paramsString.put("APL_BDT",value);
	}


}
